package com.woniuxy.exam.service;

import com.itextpdf.text.DocumentException;
import com.woniuxy.commons.entity.Paper;
import com.woniuxy.exam.entity.PaperDto;

import java.io.IOException;
import java.util.HashMap;
import java.util.List;

/**
 * @Author: 余枭春
 */
public interface PaperService {
    /**
     * 获取所有的试卷
     *
     * @return
     */
    List<Paper> allPaper();

    /**
     * 条件查询
     *
     * @return
     */
    List<Paper> allPaperWithConditions(Paper paper);

    /**
     * 通过id获取对应试卷
     *
     * @param paperId
     * @return
     */
    Paper findPaper(int paperId);

    /**
     * 新建试卷
     *
     * @param paper
     * @return
     */
    int createPaper(Paper paper);

    /**
     * 更新试卷
     *
     * @param paper
     * @return
     */
    int updatePaper(Paper paper);

    /**
     * 通过试卷名字获取试卷
     *
     * @param name
     * @return
     */
    Paper findPaperByName(String name);

    /**
     * 更新试卷状态
     *
     * @param status
     * @param paperId
     * @return
     */
    int updatePaperStatus(Integer status, Integer paperId);

    /**
     * 完善试卷内容，包括试题,自动生成试卷
     *
     * @return
     */
    int completePaperAuto(PaperDto paperDto);

    /**
     * 完善试卷内容，包括试题,手动组建试卷
     *
     * @return
     */
    int completePaper(PaperDto paperDto);

    /**
     * 获取完整的试卷
     *
     * @param paperId
     * @return
     */
    PaperDto getFullPaper(int paperId);

    /**
     * 打印试卷
     *
     * @param paperId
     * @return
     */
    String printPaper(int paperId) throws IOException, DocumentException;

}
